In a shared file system (SFS), a lock mechanism is employed to manage concurrent accesses to files from more than one server. Early SFSs relied on SCSI-2 reserve/release primitive commands to provide a server exclusive access to a logical storage volume that stored files of interest. Unfortunately, SCSI-2 reserve primitives are expensive as they lock the entire logical storage volume and input/output (IO) operations on the logical storage volume are not permitted so long as the SCSI-2 reserve primitive is in effect.
Virtual Machine File System (VMFS) is a proprietary SFS developed by VMware, Inc. of Palo Alto, Calif. VMFS introduces the notion of a disk lock that protects specific resources of the VMFS, e.g., files, bitmaps, etc. Rather than locking the entire logical storage volume using the SCSI-2 reserve primitive, a server can simply acquire a lock associated with the resource to which an IO operation needs to be performed. This significantly reduces the overall duration of a SCSI-2 reserve/release, as a SCSI-2 release may be issued immediately after a lock protecting a resource is updated as “locked.” However, the scaling of this locking scheme remains a challenge.